/*
 * COMP6471 Project
 *  
 * This file is created by Yuan Tao (ewan.msn@gmail.com)
 * Licensed under GNU GPL v3
 * 
 * $Author: ewan.msn@gmail.com $
 * $Date: 2011-10-12 03:14:14 +0000 (Wed, 12 Oct 2011) $
 * $Rev: 29 $
 * $HeadURL: http://comp6471.googlecode.com/svn/Project2/src/kklib/Cage.java $
 * 
 */

package kklib;

import java.util.ArrayList;

public class Cage {
	public int cageSize;
	public ArrayList<Cell> cells = new ArrayList<Cell>();
	public int targetNumber;	// the number shows on the top corner of the cell.
	public int targetValue;		// the value calculated by the cell values.
	
	public static final int OP_ADD = 1;
	public static final int OP_SUB = 2;
	public static final int OP_MUL = 3;
	public static final int OP_DIV = 4;
	public static final int OP_EQU = 5;
	public int operator = 0;
	
	// the types of cage:
//	A:     B:      C:      D:         E:
//	 _      _ _     _       _ _ _      _
//	|_|    |_|_|   |_|     |_|_|_|    |_|
//	               |_|                |_|
//	                                  |_|
//									  
//	F:      G:       H:       I:      
//	 _       _ _      _ _        _    
//	|_|_    |_|_|    |_|_|     _|_|
//	|_|_|   |_|        |_|    |_|_|
//
//
//	J:              K:        L:       
//	 _ _ _ _ _      _         _ _ _ _ _
//  |_|_|_|_|_|    |_|       |_|_|_|_|_|
//	               |_|       |_|
//	               |_|       |_|_ _
//	               |_|_ _    |_|_|_|       
//	               |_|_|_|
  
	public static final int MAX_TYPES = 12;  // from A to L
	public int cageType;
	
	public int cageNum;		// the number of available cages of this type used to generate a layout.
}
